package org.xinghai.sql.main.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;


@Data
public class UpdateColumnDto  {
    /**
     * 列id
     */
    @NotNull
    private Integer columnId;
    /**
     * 列名
     */
    @NotBlank
    private String columnName;
    /**
     *  数据类型
     */
    @NotBlank
    private String dataType;
    /**
     * 能否为空 0否 1是 数据库默认为0
     */
    @NotNull
    private Integer isNullable = 0;
    /**
     * 是否为主键 0否 1是 数据库默认为0
     */
    @NotNull
    private Integer isPrimaryKey = 0;
    /**
     * 是否为外键 0否 1是
     */
    @NotNull
    private Integer isForeignKey = 0;
    /**
     * 若为外键，关联的目标表名字
     */
    private String foreignTableName;
    /**
     * 若为外键，关联的目标列名字
     */
    private String foreignColumnName;

    /**
     * 列在表中的位置序号（如1表示第一列）
     */
    @NotNull
    private Integer columnPosition;
    /**
     * 描述
     */
    private String description;

    /**
     * 外键约束的业务含义说明
     */
    private String foreignKeyDescription;
}
